1) 캔버스 설정, 축, 모눈

Mathit에서 그림을 그릴 때 가장 먼저 할 일은 바탕이 되는 캔버스를 잡고 좌표축과 모눈을 그리는 것입니다. 이번 문서에서는 화면 범위와 카메라를 설정하는 @config 지시어부터 축(axis:), 눈금(ticks:), 모눈종이(grid:) 설정법까지 알아보겠습니다.

1. 캔버스와 카메라 전역 설정

@ 기호로 시작하는 설정 지시어는 그림 전체의 보여주기 범위, 3D 카메라, 출력 크기를 지정합니다.

1-1. 2D 화면 범위 설정

화면에 보여줄 $x$축과 축의 좌표 범위를 지정합니다.

// x축 범위 [-5, 5], y축 범위 [-3, 7]
@view: [-5, 5], [-3, 7]

1-2. 3D 카메라 시점 설정

3D 공간의 입체 도형을 바라보는 카메라의 각도와 투영 방식을 설정합니다.

// 고도(elev) 30도, 방위각(azim) 45도, 거리 10, 사선 투영(oblique)
@3d: cam(elev=30deg, azim=45deg, dist=10, proj=oblique)

proj 투영 옵션으로는oblique(사선 투영), iso(등메트릭 투영), persp(원근감이 들어간 원근 투영)을 지원합니다.

1-3. 캔버스 치수와 해상도

출력물(이미지나 인쇄물)의 실제 크기와 DPI를 지정합니다.

@canvas: width=120mm, height=90mm, dpi=300

2. 좌표축 그리기

화면에 $x$축, $y$축, 원점 표시를 손쉽게 배치할 수 있습니다.

2-1. 기본 축과 라벨 지정

axis: 지시어를 사용하면 화살표가 달린 축과 원점 $O$가 자동으로 그려집니다.

// 1. 기본 x축, y축 및 원점 O
axis: x, y, O

// 2. 축 범위 및 커스텀 라벨 지정
axis: x[-2..10, label="$t$(s)"], y[-5..15, label="$v$(m/s)"], O=(0,0)

2-2. 물결선 축 줄임표

수학 문제집에서 긴 좌표 범위를 생략할 때 쓰는 지그재그 물결선 표시도 한 줄로 작성할 수 있습니다. (TikZ에서는 라이브러리까지 끌고 와야 하는 것으로 기억)

// x축의 3부터 6 사이 구간을 물결선으로 생략 표시
axis_break: x in 3..6, style=zigzag

3. 눈금과 수식 표시

축 위에 좌표 숫자나 $pi$, $e$ 같은 수학 기호 눈금을 표시할 때 사용합니다.

// x축에 -pi, 0, pi, 2pi 눈금 표시
ticks: x[-pi="$- \pi $", 0="0", pi="$\pi$", 2*pi="$2\pi$"]

// y축에 숫자 및 무리수 e 표시
ticks: y[1="1", 2="2", e="$e$"]

4. 모눈종이와 격자점

도형을 그리거나 위치를 쉽게 파악할 수 있도록 배경에 모눈종이를 깔아줍니다.

4-1. 직교 좌표 모눈

가장 기본적인 모눈종이입니다.

grid: cartesian, step=1, stroke=#gray/30, dash

4-2. 극좌표 모눈

동심원과 방사선으로 이루어진 극좌표용 모눈입니다.

grid: polar, r_step=1, theta_step=30deg

4-3. 도트 격자

점 격자 스타일입니다.

grid: dots, step=10mm, radius=1.5pt, color=#black/60

5. 종합적으로

@view: [-3, 5], [-2, 4]
@canvas: width=100mm, height=80mm

grid: dots, step=10mm, color=#gray/50
axis: x[-2..4, label="$x$"], y[-1..3, label="$y$"], O=(0,0)

ticks: x[-1="-1", 1="1", 2="2", 3="3"]
ticks: y[1="1", 2="2"]

위 코드를 작성할 수 있게 됩니다.

다음 문서에서는 점, 선, 다각형, 원 등 본격적인 기본 도형 그리기 명령어를 배워보겠습니다.

이 문서가 도움이 되셨나요?

문서 개선에 반영할 솔직한 피드백을 선택해주세요.

Mathit Documentation 개발: Feynerin